package org.shopen.ai.puremvc
{
	public class ApplicationConstants
	{
		private static const NAME : String = "ApplicationConstants";
		
		// NOTIFICATIONS
		
		public static const DELIMITER : String = ".";
		
		public static const GENERAL_ERROR : String 	= NAME + DELIMITER + "GENERAL_ERROR";		
		public static const SHOW_ERROR : String 	= NAME + DELIMITER + "SHOW_ERROR";
		
		public static const ABOUT_REQUEST : String 	= NAME + DELIMITER + "ABOUT_REQUEST";
		public static const SHOW_ABOUT : String 	= NAME + DELIMITER + "SHOW_ABOUT";
		
		public static const REQUEST_PROJECTS_META : String 	= NAME + DELIMITER + "REQUEST_PROJECTS_META";
		public static const SELECT_PROJECT : String 		= NAME + DELIMITER + "SELECT_PROJECT";
		public static const START_SEARCHING : String 		= NAME + DELIMITER + "START_SEARCHING";
		public static const END_SEARCHING : String 			= NAME + DELIMITER + "END_SEARCHING";
		
		public static const CHANGE_STEP : String 			= NAME + DELIMITER + "CHANGE_STEP";
		
		public static const LOAD_COUNTRY_MAPXML : String 	= NAME + DELIMITER + "LOAD_COUNTRY_MAPXML";
		public static const LOAD_COUNTRY_GRAPH : String 	= NAME + DELIMITER + "LOAD_COUNTRY_GRAPH";
		
		public static const INITIALIZE_PROJECT : String 	= NAME + DELIMITER + "INITIALIZE_PROJECT";
		public static const PROJECT_INITIALIZED : String 	= NAME + DELIMITER + "PROJECT_INITIALIZED";
		
		public static const NAVIGATION_REQUEST : String 	= NAME + DELIMITER + "NAVIGATION_REQUEST";
		public static const PROJECT_NEXT_STEP : String 		= NAME + DELIMITER + "PROJECT_NEXT_STEP";
		public static const PROJECT_PREV_STEP : String 		= NAME + DELIMITER + "PROJECT_PREV_STEP";
		
		public static const CHANGE_SETTINGS_TYPE : String 	= NAME + DELIMITER + "CHANGE_SETTINGS_TYPE";
		
		public static const INITIALIZE_AUTOMATIC_SETTINGS : String 	= NAME + DELIMITER + "INITIALIZE_AUTOMATIC_SETTINGS";
		public static const COMMIT_AUTOMATIC_SETTINGS : String 		= NAME + DELIMITER + "COMMIT_AUTOMATIC_SETTINGS";
		
		public static const INITIALIZE_MANUAL_SETTINGS : String = NAME + DELIMITER + "INITIALIZE_MANUAL_SETTINGS";
		public static const COMMIT_MANUAL_SETTINGS : String 	= NAME + DELIMITER + "COMMIT_MANUAL_SETTINGS";
		
		public static const SELECT_STATE : String 			= NAME + DELIMITER + "SELECT_STATE";
		public static const PROBLEMSTATE_SELECTED : String 	= NAME + DELIMITER + "PROBLEMSTATE_SELECTED";
		
		public static const SHOW_SELECTCOUNTRY : String 	= NAME + DELIMITER + "SHOW_SELECTCOUNTRY";
		public static const CITY_SELECTED : String 			= NAME + DELIMITER + "CITY_SELECTED";
		
		
		// Types, Ids, Tokens, etc..
		
		public static const GOAL_STATE_TYPE : String 	= ".goalState";
		public static const INITIAL_STATE_TYPE : String = ".initialState"; 
		
		public static const MANUAL_SETTINGS_TYPE : String = ".manualSettings";
		public static const AUTO_SETTINGS_TYPE : String = ".autoSettings";
		
		
		// FSM STATES
		
		private static const STATE_TITLE : String = "state";
		
		public static const STATE_INTRO : String					= NAME + DELIMITER + STATE_TITLE + DELIMITER + "STATE_INTRO";
		public static const STATE_PROJECT : String 					= NAME + DELIMITER + STATE_TITLE + DELIMITER + "PROJECT";
		public static const STATE_PROJECT_PREVIEW : String 			= NAME + DELIMITER + STATE_TITLE + DELIMITER + "PROJECT_PREVIEW";
		public static const STATE_PROJECT_SETUP : String 			= NAME + DELIMITER + STATE_TITLE + DELIMITER + "PROJECT_SETUP";
		public static const STATE_PROJECT_SEARCHING : String 		= NAME + DELIMITER + STATE_TITLE + DELIMITER + "PROJECT_SEARCHING";
		public static const STATE_PROJECT_SEARCH_STOPPED : String 	= NAME + DELIMITER + STATE_TITLE + DELIMITER + "PROJECT_SEARCH_STOPPED";
		public static const STATE_PROJECT_STATISTIC : String 		= NAME + DELIMITER + STATE_TITLE + DELIMITER + "PROJECT_STATISTIC";
		
		// FSM ACTIONS
		
		private static const ACTION_TITLE : String = "action";
		
		public static const ACTION_SELECT_PROJECT : String 	= NAME + DELIMITER + ACTION_TITLE + DELIMITER + "SELECT_PROJECT";
		public static const ACTION_NEXT : String 			= NAME + DELIMITER + ACTION_TITLE + DELIMITER + "NEXT";
		public static const ACTION_PREV : String			= NAME + DELIMITER + ACTION_TITLE + DELIMITER + "PREV";
		public static const ACTION_TRY_AGAIN : String		= NAME + DELIMITER + ACTION_TITLE + DELIMITER + "TRY_AGAIN";
		public static const ACTION_ABORT : String			= NAME + DELIMITER + ACTION_TITLE + DELIMITER + "ABORT";
		
		// FSM CHANGE/ENTERING/EXITING
		
		private static const ENTERING_TITLE : String = "entering";
		
		public static const ENTERING_PROJECT_SEARCHING : String 	= NAME + DELIMITER + ENTERING_TITLE + DELIMITER + "PROJECT_SEARCHING";
	}
}